<template>
  <div :style='{ "padding": "30px 5%" }'>
    <el-form :style='{ "borderRadius": "6px", "padding": "30px" }' class="add-update-preview" ref="ruleForm"
      :model="ruleForm" label-width="140px">
      <el-row>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'yonghu'"
          label="用户账号" prop="yonghuzhanghao">
          <el-input v-model="ruleForm.yonghuzhanghao" readonly placeholder="用户账号" clearable></el-input>
        </el-form-item>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'yonghu'"
          label="用户姓名" prop="yonghuxingming">
          <el-input v-model="ruleForm.yonghuxingming" placeholder="用户姓名" clearable></el-input>
        </el-form-item>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'yonghu'"
          label="性别" prop="xingbie">
          <el-select v-model="ruleForm.xingbie" placeholder="请选择性别">
            <el-option v-for="(item, index) in yonghuxingbieOptions" v-bind:key="index" :label="item" :value="item">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'yonghu'"
          label="联系方式" prop="lianxifangshi">
          <el-input v-model="ruleForm.lianxifangshi" placeholder="联系方式" clearable></el-input>
        </el-form-item>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'yonghu'"
          label="头像" prop="touxiang">
          <file-upload tip="点击上传头像" action="file/upload" :limit="3" :multiple="true"
            :fileUrls="ruleForm.touxiang ? ruleForm.touxiang : ''" @change="yonghutouxiangUploadChange"></file-upload>
        </el-form-item>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'yonghu'"
          label="房屋号" prop="fangwuhao">
          <el-select v-model="ruleForm.fangwuhao" placeholder="请选择房屋号">
            <el-option v-for="(item, index) in yonghufangwuhaoOptions" v-bind:key="index" :label="item" :value="item">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'users'"
          label="用户名" prop="username">
          <el-input v-model="ruleForm.username" placeholder="用户名"></el-input>
        </el-form-item>
        



        
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'wuyerenyuan'"
          label="姓名" prop="xingming">
          <el-input v-model="ruleForm.xingming" placeholder="姓名" clearable></el-input>
        </el-form-item>

        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'wuyerenyuan'"
          label="性别" prop="xingbie">
          <el-select v-model="ruleForm.xingbie" placeholder="请选择性别">
            <el-option v-for="(item, index) in yonghuxingbieOptions" v-bind:key="index" :label="item" :value="item">
            </el-option>
          </el-select>
        </el-form-item>

        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'wuyerenyuan'"
          label="年龄" prop="nianling">
          <el-input v-model="ruleForm.nianling" placeholder="年龄"></el-input>
        </el-form-item>

        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'wuyerenyuan'"
          label="手机号" prop="shoujihao">
          <el-input v-model="ruleForm.shoujihao" placeholder="手机号" clearable></el-input>
        </el-form-item>
        <el-form-item :style='{ "width": "45%", "margin": "0 2% 20px 0", "display": "inline-block" }' v-if="flag == 'wuyerenyuan'"
          label="头像" prop="touxiang">
          <file-upload tip="点击上传头像" action="file/upload" :limit="3" :multiple="true"
            :fileUrls="ruleForm.touxiang ? ruleForm.touxiang : ''" @change="yonghutouxiangUploadChange"></file-upload>
        </el-form-item>

      
        
        <el-form-item :style='{ "padding": "0", "margin": "0" }'>
          <el-button
            :style='{ "border": "0", "cursor": "pointer", "padding": "0", "margin": "0 20px 0 0", "outline": "none", "color": "rgba(255, 255, 255, 1)", "borderRadius": "4px", "background": "rgba(222, 216, 156, 1)", "width": "128px", "lineHeight": "40px", "fontSize": "14px", "height": "40px" }'
            type="primary" @click="onUpdateHandler">修 改</el-button>
        </el-form-item>
      </el-row>
    </el-form>
  </div>
</template>
<script>
// 数字，邮件，手机，url，身份证校验
import { isNumber, isIntNumer, isEmail, isMobile, isPhone, isURL, checkIdCard } from "@/utils/validate";

export default {
  data() {
    return {
      ruleForm: {},
      flag: '',
      usersFlag: false,
      yonghuxingbieOptions: [],
      yonghufangwuhaoOptions: [],
    };
  },
  mounted() {
    var table = this.$storage.get("sessionTable");
    this.flag = table;
    this.$http({
      url: `${this.$storage.get("sessionTable")}/session`,
      method: "get"
    }).then(({ data }) => {
      if (data && data.code === 0) {
        this.ruleForm = data.data;
      } else {
        this.$message.error(data.msg);
      }
    });
    this.yonghuxingbieOptions = "男,女".split(',')
    this.$http({
      url: `option/fangwuxinxi/fangwuhao`,
      method: "get"
    }).then(({ data }) => {
      if (data && data.code === 0) {
        this.yonghufangwuhaoOptions = data.data;
      } else {
        this.$message.error(data.msg);
      }
    });
  },
  methods: {
    yonghutouxiangUploadChange(fileUrls) {
      this.ruleForm.touxiang = fileUrls;
    },
    onUpdateHandler() {
      if ((!this.ruleForm.yonghuzhanghao) && 'yonghu' == this.flag) {
        this.$message.error('用户账号不能为空');
        return
      }
      if ((!this.ruleForm.mima) && 'yonghu' == this.flag) {
        this.$message.error('密码不能为空');
        return
      }
      if ((!this.ruleForm.yonghuxingming) && 'yonghu' == this.flag) {
        this.$message.error('用户姓名不能为空');
        return
      }
      if ('yonghu' == this.flag && this.ruleForm.lianxifangshi && (!isMobile(this.ruleForm.lianxifangshi))) {
        this.$message.error(`联系方式应输入手机格式`);
        return
      }
      if (this.ruleForm.touxiang != null) {
        this.ruleForm.touxiang = this.ruleForm.touxiang.replace(new RegExp(this.$base.url, "g"), "");
      }
      if ('users' == this.flag && this.ruleForm.username.trim().length < 1) {
        this.$message.error(`用户名不能为空`);
        return
      }
      this.$http({
        url: `${this.$storage.get("sessionTable")}/update`,
        method: "post",
        data: this.ruleForm
      }).then(({ data }) => {
        if (data && data.code === 0) {
          this.$message({
            message: "修改信息成功",
            type: "success",
            duration: 1500,
            onClose: () => {
            }
          });
        } else {
          this.$message.error(data.msg);
        }
      });
    }
  }
};
</script>
<style lang="scss" scoped>
.el-date-editor.el-input {
  width: auto;
}

.add-update-preview .el-form-item /deep/ .el-form-item__label {
  padding: 0 10px 0 0;
  color: #666;
  font-weight: 500;
  width: 140px;
  font-size: 14px;
  line-height: 40px;
  text-align: right;
}

.add-update-preview .el-form-item /deep/ .el-form-item__content {
  margin-left: 140px;
}

.add-update-preview .el-input /deep/ .el-input__inner {
  border: 2px solid rgba(213, 210, 195, 1);
  border-radius: 4px;
  padding: 0 12px;
  outline: none;
  color: #000;
  width: 280px;
  font-size: 14px;
  height: 40px;
}

.add-update-preview .el-select /deep/ .el-input__inner {
  border: 2px solid rgba(213, 210, 195, 1);
  border-radius: 4px;
  padding: 0 10px;
  outline: none;
  color: #000;
  width: 200px;
  font-size: 14px;
  height: 40px;
}

.add-update-preview .el-date-editor /deep/ .el-input__inner {
  border: 2px solid rgba(213, 210, 195, 1);
  border-radius: 4px;
  padding: 0 10px 0 30px;
  outline: none;
  color: #000;
  width: 200px;
  font-size: 14px;
  height: 40px;
}

.add-update-preview /deep/ .el-upload--picture-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  width: auto;
  height: auto;
  line-height: initial;
  vertical-align: middle;
}

.add-update-preview /deep/ .el-upload-list .el-upload-list__item {
  border: 2px dashed rgba(213, 210, 195, 1);
  cursor: pointer;
  border-radius: 6px;
  color: #999;
  width: 150px;
  font-size: 32px;
  line-height: 150px;
  text-align: center;
  height: 150px;
}

.add-update-preview /deep/ .el-upload .el-icon-plus {
  border: 2px dashed rgba(213, 210, 195, 1);
  cursor: pointer;
  border-radius: 6px;
  color: #999;
  width: 150px;
  font-size: 32px;
  line-height: 150px;
  text-align: center;
  height: 150px;
}

.add-update-preview .el-textarea /deep/ .el-textarea__inner {
  border: 2px solid rgba(213, 210, 195, 1);
  border-radius: 4px;
  padding: 12px;
  outline: none;
  color: #000;
  width: 300px;
  font-size: 14px;
  height: 120px;
}
</style>
